package com.ld.control.business.process.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ld.control.business.equipment.vo.resp.MethodRespVo;
import com.ld.control.business.external.vo.req.CallBackReqVo;
import com.ld.control.business.process.model.ProcessNodeExampleModel;
import com.ld.control.business.process.model.ProcessNodeExampleRunningModel;
import com.ld.control.business.process.vo.resp.ProcessNodeExampleRunningRecordResp;

/**
 * <p>
 * 任务节点指令发送信息表 服务类
 * </p>
 *
 * @author wangfeng
 * @since 2024-05-27
 */
public interface ProcessNodeExampleRunningService extends IService<ProcessNodeExampleRunningModel> {


    /**
     * 添加发送的数据
     * @param processNodeExampleId
     */
    ProcessNodeExampleRunningModel add(Long processNodeExampleId);

    /**
     * 发送指令给设备
     * @param processNodeExampleRunningId
     */
    MethodRespVo sendCommand(Long processNodeExampleRunningId);

    /**
     * running回调
     * @param reqVo
     */
    void runningCallBack(CallBackReqVo reqVo);

    /**
     * 查询运行记录
     * @param current
     * @param size
     * @return
     */
    IPage<ProcessNodeExampleRunningRecordResp> getPageListByCondition(Long taskExampleId, Long processExampleId,
                                                                      String taskExampleCode, String sendMethodName, Integer current, Integer size);

}
